Improving the Performance of a Verified Linear System Solver Using Optimized Libraries and Parallel Computation

نویسندگان

  • Mariana Luderitz Kolberg
  • Gerd Bohlender
  • Dalcidio Moraes Claudio
چکیده

A parallel version of the self-verified method for solving linear systems was presented in [16, 15]. In this research we propose improvements aiming at a better performance. The idea is to implement an algorithm that uses technologies as MPI communication primitives associated to libraries as LAPACK, BLAS and C-XSC, aiming to provide both self-verification and speed-up at the same time. The algorithms should find an enclosure even for very ill-conditioned problems. In this scenario, a parallel version of a self-verified solver for dense linear systems appears to be essential in order to solve bigger problems. Moreover, the major goal of this research is to provide a free, fast, reliable and accurate solver for dense linear systems. Many real problems are simulated and modeled using dense linear systems of equations like Ax = b with an n × n matrix A ∈ Rn×n and a right hand side b ∈ R. This is true for functional linear equations that occur like partial differential equations and integral equations that appear in several problems of Physics and Engineering [4]. Many different numerical algorithms contain this task as a subproblem. There are numerous methods and algorithms which compute approximations to the solution x in floating-point arithmetic. However, usually it is not clear how good these approximations are, or if there exists a unique solution at all. In general, it is not possible to answer these questions with mathematical rigor if only floating-point approximations are used. These problems become especially difficult if the matrix A is ill conditioned. The use of self-verified methods can lead to more reliable results [9]. Verified computing provides an interval result that surely contains the correct result [17, 14]. Like that the algorithm also proves the existence and uniqueness of the solution of the problem. The algorithm will, in general, succeed in finding an enclosure of the correct solution. If the solution is not found, the algorithm will let the user know. One possibility to implement verified computing is using interval arithmetic combined with suitable algorithms. 1 Dagstuhl Seminar Proceedings 08021 Numerical Validation in Current Hardware Architectures http://drops.dagstuhl.de/opus/volltexte/2008/1438 There is a multitude of tools and algorithms that provide verified computing. Among them, an option is C-XSC (C for eXtended Scientific Computing) [14]. C-XSC is a free and portable programming environment for C and C++ programming languages, offering high accuracy and automatic verified results. This programming tool allows the solution of many standard problems with reliable results. The Matlab toolbox for selfverified algorithms, INTLAB [12], is also an option. Like C-XSC, it also provides interval arithmetic for real and complex data including vectors and matrices, interval arithmetic for real and complex sparse matrices, rigorous real interval standard functions, rigorous complex interval standard functions, rigorous input/output, accurate summation, dot product and matrix-vector residuals, multiple precision interval arithmetic with error bounds, and more. However, this solver can be used just together with the commercial MATLAB environment, what can increase the costs to prohibitive values. To understand performance and accuracy issues, a comparison among C-XSC, INTLAB and LAPACK [1] was performed. LAPACK is a well known linear algebra package, considered very fast and optimized. The results show that C-XSC has the most reliable results and the highest accuracy. LAPACK is the one that presents the best performance, but results are not verified, and in some cases less accurate. INTLAB is the best compromise between performance and accuracy. However, as said before, it requires Matlab which is not free. The tests show that the method used in C-XSC is a good choice, but it should be optimized to gain performance. The method for solving linear systems with high accuracy can be found in [14, ?], where the verified method for solving linear system using the C-XSC library is based on the enclosure theory described in [25]. These enclosure methods are based on the following interval Newton-like iteration: xk+1 = Rb + (I −RA)xk, k = 0, 1, ... (1) This equation is used to find a zero of f(x) = Ax−b with an arbitrary starting value x0 and an approximate inverse R ≈ A−1 of A. If there is an index k with [x]k+1⊂̊[x]k (the ⊂̊ operator denotes that [x]k+1 is included in the interior of [x]k), then the matrices R and A are regular, and there is a unique solution x of the system Ax = b with x ∈ [x]k+1. We assume that Ax = b is a dense square linear system and we do not consider any special structure of the elements of A. The use of verified computing makes it possible to find the correct result. However, finding the verified result often increases the execution times dramatically [20]. The research already developed show that the execution time of verified algorithms are much larger than the execution time of algorithms that do not use this concept [11, 10]. To compensate the lack of performance of such verified algorithms, some works suggest the use of midpoint-radius arithmetic to achieve a better performance, since its implementation can be done using only floating-point operations [23, 24]. This would be a way to increase the performance of verified methods. The advent of parallel computing and its impact in the overall performance of many algorithms on numerical analysis can be seen in the past years [6]. The use of clus-

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A investigation on solving dense systems of linear equations with high performance verified computing on shared memory architectures

In Computer Science the guarantee that an algorithm has been verified to be correct does not guarantees that the numerical result obtained by it is correct. Hence, automatic result verification is an important additional tool to reduce the impact of arithmetic errors in numerical computation. As in traditional computation, one fundamental problem in verified computing is bounding the solution s...

متن کامل

A New Intelligent Controller for Parallel DC/DC Converters

In this paper, the immune controller, is used to control the paralleled DC-DC converters. A PID controller is first applied and its coefficient is optimized using an intelligent (PSO) algorithm. Immune controller is then added to PID controller and an immune PID controller is formed. Two methods have been suggested to determine non-linear behavior of immune controller. In the first method, an e...

متن کامل

Load-Frequency Control: a GA based Bayesian Networks Multi-agent System

Bayesian Networks (BN) provides a robust probabilistic method of reasoning under uncertainty. They have been successfully applied in a variety of real-world tasks but they have received little attention in the area of load-frequency control (LFC). In practice, LFC systems use proportional-integral controllers. However since these controllers are designed using a linear model, the nonlinearities...

متن کامل

Parallel Algorithms for Large Scale Macroeconometric Models

Macroeconometric models with forward-looking variables give raise to very large systems of equations that requires heavy computations. These models was influenced by the development of new and efficient computational techniques and they are an interesting testing ground for the numerical methods addressed in this research. The most difficult problem in solving such models is to obtain the solut...

متن کامل

Ctadel: A Generator of Efficient Numerical Codes Ctadel: A Generator of Efficient Numerical Codes

Algorithm Templates. According to Kant and Steinberg [82], linear solvers and related algorithms can be cast in the form of so-called algorithm templates. Templates are algebraic structures that capture the essentials of an algorithm, elaborated with problem-specific aspects, and can be transformed into a chosen target language. The SciNapse system [2] uses algorithm templates in the automatic ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2008